Lỗi tràn bộ nhớ đệm

Trong các lĩnh vực an ninh máy tínhlập trình, một lỗi tràn bộ nhớ đệm hay gọi tắt là lỗi tràn bộ đệm (tiếng Anh: buffer overflow) là một lỗi lập trình có thể gây ra một ngoại lệ truy nhập bộ nhớ máy tính và chương trình bị kết thúc, hoặc khi người dùng có ý phá hoại, họ có thể lợi dụng lỗi này để phá vỡ an ninh hệ thống.Lỗi tràn bộ đệm là một điều kiện bất thường khi một tiến trình lưu dữ liệu vượt ra ngoài biên của một bộ nhớ đệm có chiều dài cố định. Kết quả là dữ liệu đó sẽ đè lên các vị trí bộ nhớ liền kề. Dữ liệu bị ghi đè có thể bao gồm các bộ nhớ đệm khác, các biến và dữ liệu điều khiển luồng chạy của chương trình (program flow control).Các lỗi tràn bộ đệm có thể làm cho một tiến trình đổ vỡ hoặc cho ra các kết quả sai. Các lỗi này có thể được kích hoạt bởi các dữ liệu vào được thiết kế đặc biệt để thực thi các đoạn mã phá hoại hoặc để làm cho chương trình hoạt động một cách không như mong đợi. Bằng cách đó, các lỗi tràn bộ đệm gây ra nhiều lỗ hổng bảo mật (vulnerability) đối với phần mềm và tạo cơ sở cho nhiều thủ thuật khai thác (exploit). Việc kiểm tra biên (bounds checking) đầy đủ bởi lập trình viên hoặc trình biên dịch có thể ngăn chặn các lỗi tràn bộ đệm.

Tài liệu tham khảo

WikiPedia: Lỗi tràn bộ nhớ đệm http://www.buffershield.com/english/products/produ... http://www.eeye.com/html/Research/Advisories/AL200... http://metasploit.com/users/opcode/msfopcode.cgi http://technet2.microsoft.com/WindowsServer/en/Lib... http://www.microsoft.com/technet/security/bulletin... http://www.microsoft.com/technet/security/bulletin... http://www.security-express.com/archives/bugtraq/1... http://world.std.com/~franl/worm.html http://www.syngress.com/book_catalog/327_SSPC/samp... http://arri.berlios.de/